//
//  TomamaUI.h
//  Tomama
//
//  Created by qianfeng on 15/12/16.
//  Copyright (c) 2015年 ZhangLuJie. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

typedef NS_ENUM(NSInteger, HWDWebStatusType) {
    HWDNotReachableWebStatu = 0,
    HWDTowGWebStatu,
    HWDThreeGWebStatu,
    HWDFourGWebStatu,
    HWDLTEWebStatu,
    HWDWifiWebStatu,
};

@interface TomamaUI : NSObject
/*创建UILabel
 *cg:       frame  布局参数
 *aligment: textAligment 0局左  1居右  2局中
 *font:     UIFont 字体大小
 *textColor:textColor 字体颜色
 *text:     text 文本内容
*/
+(UILabel *)createLabel:(CGRect)cg textAligment:(NSInteger)aligment font:(UIFont *)font textColor:(UIColor *)textColor text:(NSString *)text;

/*创建UIImageView
 *imageName: imageName 本地图片名
*/
+(UIImageView *)createImageView:(CGRect)cg backGroundImageV:(NSString *)imageName;

/*创建UIButton
 *UIButtonType :UIButtonType 按钮类型
 *cg: frame 布局参数
 *targe: targe响应对象
 *sel: sel点击方法
 *titleColor: titleColor 字体颜色
 *font: font 字体大小
 *title: title 文本内容
 *imageName: imageName 本地图片名
 *backImageName: backImageName 本地背景图片名
 */
+(UIButton *)createButton:(NSInteger)UIButtonType Frame:(CGRect)cg targ:(id)targe sel:(SEL)sel titleColor:(UIColor *)titleColor font:(UIFont*)font title:(NSString *)title  image:(NSString *)imageName backGroundImage:(NSString*)backImageName;

+(UIButton *)createRightButton:(CGRect)cg targ:(id)targe sel:(SEL)sel titleColor:(UIColor *)titleColor title:(NSString *)title  image:(NSString *)imageName;

+(UIButton *)createButton:(CGRect)cg targ:(id)targe sel:(SEL)sel titleColor:(UIColor *)titleColor title:(NSString *)title  image:(NSString *)imageName backGroundImage:(NSString*)backImageName;

//获取字符串长度
+(CGFloat)getStringWeithtWith:(NSString *)str andHeigth:(CGFloat )h andFont:(UIFont *)font;

/**
 获取字符串宽度（无行间距）

 @param str 字符串
 @param w 文本长度
 @param font 字体大小
 @return 字符串宽度
 */
+(CGFloat)getStringHeightWith:(NSString *)str andWeith:(CGFloat )w andFont:(UIFont *)font;

/**
  获取字符串高度（有行间距）

 @param str 字符串
 @param width 文本长度
 @param font 字体大小
 @param lineSpacing 行间距
 @return 字符串宽度
 */
+(CGFloat)getStringHeightWith:(NSString *)str andWeith:(CGFloat )width andFont:(UIFont *)font andLineSpacing:(CGFloat)lineSpacing;

/**
 过滤字符
 
 @param charStr 要过滤的字符
 @param string 目标字符
 @return 过滤后的字符
 */
+(NSString *)deleteChar:(NSString *)charStr inString:(NSString *)string;

//将固定格式字符串转时间（有时差）
+ (NSDate *)getDateWithString:(NSString *)dateStr;

//将固定格式字符串转时间（无时差）
+ (NSDate *)getDateWithStringNo8:(NSString *)dateStr;

//时间转字符串
+(NSString *)dateTostiring:(NSDate *)date andString:(NSString *)geshi;

//时间搓转时间（自定格式）
+(NSString*)stringToDataString:(NSString *)str andString:(NSString *)gehsi;

//获取今天星期几
+(NSString*)weekDayStr:(NSString *)format;

//对比两个时间的差（秒）
+(int)getTimeWithDate1:(NSDate *)date1 andDate2:(NSDate *)date2;

//获取当前时间
+(NSDate *)getNowDate;

//创建一个自动消失的alert
+(void)creatAlertWithTarget:(UIViewController *)vc message:(NSString *)message timeInterval:(CGFloat)timeInterval;

//创建一个自动消失的alert(带回调)
+(void)creatAlertWithTarget:(UIViewController *)vc message:(NSString *)message timeInterval:(CGFloat)timeInterval block:(void (^)(void))block;

//缓存加载图片
+(void)loadWedImageWithImageView:(UIImageView *)imageV andUrl:(NSString *)url;

//压缩图片
+(UIImage *)compressImage:(UIImage *)sourceImage toTargetWidth:(CGFloat)targetWidth;

/**
 添加滤镜

 @param originImage 需要添加滤镜的图片
 @param filterName 滤镜种类
 @return 添加好滤镜后的图片
 */
+(UIImage *)addFilterWithImage:(UIImage *)originImage andFilterName:(NSString *)filterName;
 
/**
 存储图片
 
 @param photo 图片
 @return 图片路径
 */
+(NSString *)writeToFileWithPhoto:(UIImage *)photo;

/**
 存储图片
 
 @param filePath 图片路径
 @return 图片路径
 */
+(NSString *)writeToFileWithPath:(NSString *)filePath;

/**
 *  生成图片
 *
 *  @param color  图片颜色
 *  @param height 图片高度
 *
 *  @return 生成的图片
 */
+ (UIImage*) GetImageWithColor:(UIColor*)color andHeight:(CGFloat)height;

/**
 删除路径文件

 @param filePath 文件路径
 */
+(void)DeleteFileWithPath:(NSString *)filePath;

/**
 获取当前试图管理器

 @return 当前试图管理器
 */
+(UIViewController *)getTopVC;

/**
 询问是否容许开启定位
 */
+(void)openGPS;

/**
 判断是否启用定位
 
 @return yes/no
 */
+(BOOL)isEnabledLocationServices;

+(HWDWebStatusType)getWebStatus;

//范云飞添加的方法
/**
 *  计算UILabel的高度(带有行间距的情况)
 *  @param text  内容
 *  @param font  字体
 *  @param width 宽度
 *  @return 高度
 *  @param zpace  字间距 --> @10 这样设置  默认的话设置 0 就ok
 */
+(CGFloat)getSpaceLabelHeight:(NSString*)text withFont:(UIFont*)font withWidth:(CGFloat)width withSpace:(CGFloat)space withZspace:(NSNumber *)zpace;

/**
 判断电话号码格式

 @param mobile 电话号码
 @return 是否
 */
+ (BOOL)valiMobile:(NSString *)mobile;

//弹出提示上移（防止键盘遮挡）
+(void)creatTopKeyBoardAlertWithTarget:(UIViewController *)vc message:(NSString *)message timeInterval:(CGFloat)timeInterval;

+ (UIImage *)imageWithText:(NSString *)text textFont:(NSInteger)fontSize textColor:(UIColor *)textColor textFrame:(CGRect)textFrame originImage:(UIImage *)image imageLocationViewFrame:(CGRect)viewFrame;

//网络检测
+ (void)monitorNetworking:(void (^)(bool type))complete;
@end
